﻿#include "MainWindow.h"

#include <QSplitter>
#include <QHBoxLayout>

MainWindow::MainWindow(QWidget* parent)
	:QWidget(parent)
{
	this->resize(640, 480);

	init();
}

void MainWindow::init()
{
	layout();

	connect(m_treewidget, &QTreeWidget::itemDoubleClicked, this, &MainWindow::onItemDoubleClicked);
}

void MainWindow::layout()
{
	//树窗体：
	m_treewidget = new TreeWidget;
	//表格窗体：
	m_tabwidget = new QTabWidget;

	//m_listwidget->addItem("hello");		//test

	//设置列表窗口的最大宽度，以此来布局窗口：
	m_treewidget->setMaximumWidth(200);

	//分束器：	用来分割两个窗口：
	auto splitter = new QSplitter;
	splitter->addWidget(m_treewidget);
	splitter->addWidget(m_tabwidget);

	//水平布局：
	auto layout = new QHBoxLayout(this);
	layout->addWidget(splitter);
}

void MainWindow::onItemDoubleClicked(QTreeWidgetItem* item, int column)
{
	//qInfo() << 1;
	
	//item的父节点：
	auto parentItem = item->parent();
	if (parentItem)
	{
		//父节点的id：
		auto parentmenuId = parentItem->data(0, TreeWidget::MenuRole).value<TreeWidget::MainWindowType>();
	
		
		//通过当前id在	枚举中的值	来执行操作：
		switch (parentmenuId)
		{
		case TreeWidget::UserManager:
		{
			if (!m_userManagerWidget)
			{
				//获取当前树窗体中的项的id：		转成枚举：
				auto menuId = item->data(0, TreeWidget::MenuRole).value<TreeWidget::MainWindowType>();

				m_userManagerWidget = new UserManagerWidget;
				m_tabwidget->addTab(m_userManagerWidget, item->text(0));
			}
		}
		break;
		case TreeWidget::ReaderMananger:
		{

		}
			break;
		case TreeWidget::BookManager:
		{

		}
			break;
		case TreeWidget::CirculateManager:
		{

		}
			break;
		default:
			break;
		}

	}

	


}
